class EventBus{
    // 构造函数，初始化一个空对象events
    constructor(){
        this.events={};
    }
    // 监听事件，将回调函数添加到对应事件的数组中

    on(event,callback){
        if(!this.events[event]){
            this.events[event]=[];
        }
        this.events[event].push(callback);
    // 触发事件，遍历对应事件的数组，执行回调函数
    }
    emit(event,...args){
        if(this.events[event]){
            this.events[event].forEach((callback) => {
                callback(...args);
            });
        }
    }
    // 取消监听事件，将对应事件的数组中指定的回调函数移除

    off(event,callback){
        if(this.events[event]){
          this.events[event]=this.events[event].filter((cb)=>cb!==callback)
        }
    }
}

export default new EventBus();